#! /bin/sh

# chkconfig: 2345 20 80
       # description: Saves and restores system entropy pool for \
       #              higher quality random number generation.

. /usr/voltaire/common.sh

is_gvd(){
	pid=$(pidof gvd|cut -f1 -d" ")
	if [ -z $pid ] ; then
		echo 0
	else
		echo 1
	fi
}
stop_gvd(){
	stat=$(is_gvd)
	if [ $stat -eq 0 ] ; then
		return
	fi
	/usr/voltaire/gvdctl exit
}
start_gvd(){
	stat=$(is_gvd)
	if [ $stat -eq 0 ] ; then
		stop_gvd
	fi
	/usr/voltaire/gvd
}
start_ib_if(){
        get_ib_netscripts
        for s in $ib_netscripts ; do
		echo Bringing up interface: $s
                ifup $s
        done
}

stop_ib_if(){
        get_ib_netscripts
        for s in $ib_netscripts ; do
		echo Shutting down interface: $s
                ifdown $s
        done

}

case "$1" in
        start)
		stop_gvd
                /etc/init.d/openibd start
		start_ib_if
		start_gvd
                ;;
        stop)
		stop_gvd
		stop_ib_if
                /etc/init.d/openibd stop
                ;;
        status)
                /etc/init.d/openibd status
                ;;
        restart)
		stop_gvd
		stop_ib_if
                /etc/init.d/openibd restart
		start_ib_if
		start_gvd
		;;
        *)
                echo "Usage: $0 {start|stop|restart|status}"
                exit 1
                ;;
esac

exit 0

